package com.show.mytest;

import java.io.File;
import java.io.IOException;

public class Test02_Method {
    public static void main(String[] args) throws IOException {
        /*
            public String getAbsolutePath();获得File文件对象关联文件的绝对路径
            public String getPath(); 获得创建File对象时指定的文件路径字符串
            public String getName(); 获得文件名
            public long length();
                * 获得文件的大小，单位是：字节
                * 注意：只能获得文件的大小， 不能用来获得文件夹的大小。
            File getParentFile();获得父路径文件对象
        */
        // 创建一个file对象
        File file = new File("F:/a.txt");
        // 获得File文件对象关联文件的绝对路径
        String absolutePath = file.getAbsolutePath();
        System.out.println(absolutePath);   // F:\a.txt
        // 获得创建File对象时指定的文件路径字符串
        String path = file.getPath();
        System.out.println(path);           // F:\a.txt
        // 获得文件名
        String name = file.getName();
        System.out.println(name);           // a.txt
        // 获得文件大小
        long length = file.length();
        System.out.println(length);         // 0
        // 获得父路径
        String parent = file.getParent();
        System.out.println(parent);         // F:\

        /*
            public boolean exists(); 判断文件是否存在，存在返回true，否则返回false
            public boolean isDirectory();判断文件对象关联的是否是文件夹，是返回true，否则返回false
            public boolean isFile(); 判断文件对象关联是否是文件，是返回true，否则返回false
        */
        // 判断文件是否存在，存在返回true，否则返回false
        System.out.println(file.exists());      // true
        // 判断文件对象关联的是否是文件夹，是返回true，否则返回false
        System.out.println(file.isDirectory()); // false
        // 判断文件对象关联是否是文件，是返回true，否则返回false
        System.out.println(file.isFile());      // true a.txt 为文件

        /*
            public boolean createNewFile()
                根据文件对象关联的路径创建文件
                如果创建成功返回true，否则返回false
                如果文件存在，则什么都不做。
                只能用来创建文件，不能用来创建文件夹。
            public boolean mkdir()
                * 创建单级文件夹，如果文件夹存在，则什么都不做
                * 如果创建成功返回true，否则返回false
                * 注意：只能用来创建文件夹
            ​
            public boolean mkdirs()
                * 可以创建多级文件夹，如果文件夹存在，则什么都不做
                * 如果创建成功返回true，否则返回false
            ​
            public boolean delete()
                * 删除文件或文件夹，如果是文件夹，则必须是空文件夹才能删除。
                * 如果删除成功返回true，否则返回false
        */
        // 创建文件file对象
        File f1 = new File("F:/1cheng/2cheng");
        // 调用mkdirs创建多层文件夹
        boolean mkdirs = f1.mkdirs();  // 创建多层文件夹 成功返回true,失败返回false
        System.out.println(mkdirs);     // true
        // 创建file对象
        File f2 = new File("F:/1cheng/2cheng/a.txt");
        // 调用createNewFile
        boolean newFile = f2.createNewFile(); // 创建成功,返回true
        System.out.println(newFile);    // true
        // 调用delete方法删除文件
        boolean delete = f2.delete();   // 删除成功返回true,失败返回false
        System.out.println(delete);     // true
    }
}
